package org.domain.prosoft.session;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;

@Entity
public final class Usuario {

	public static final int ADMINISTRADOR = 1;
	public static final int USUARIO = 2;
	
	private long id;
	
	private String login;
	
	private int tipo;
	
	private Set<Incidente> incidentes;
	
	private Set<Resposta> respostas;
	
	private Set<Aviso> avisos;
	
	@Id @GeneratedValue
	public long getId() {
		return id;
	}
	public void setId(long id) {
		this.id = id;
	}
	
	public String getLogin() {
		return login;
	}
	public void setLogin(String login) {
		this.login = login;
	}
	
	public int getTipo() {
		return tipo;
	}
	public void setTipo(int tipo) {
		this.tipo = tipo;
	}

	@OneToMany(targetEntity=Incidente.class, cascade=CascadeType.ALL, mappedBy="criador")
	public Set<Incidente> getIncidentes() {
		return incidentes;
	}
	public void setIncidentes(Set<Incidente> incidentes) {
		this.incidentes = incidentes;
	}
	
	@OneToMany(targetEntity=Resposta.class, cascade=CascadeType.ALL, mappedBy="criador")
	public Set<Resposta> getRespostas() {
		return respostas;
	}
	public void setRespostas(Set<Resposta> respostas) {
		this.respostas = respostas;
	}
	
	@OneToMany(targetEntity=Aviso.class, cascade=CascadeType.ALL, mappedBy="criador")
	public Set<Aviso> getAvisos() {
		return avisos;
	}
	public void setAvisos(Set<Aviso> avisos) {
		this.avisos = avisos;
	}

}
